public interface MatchControllerInterface
{
	void Init(TableTennisGameStartScript starter, MatchUI ui, TableTennisGameTypeBase gameType);

	void StartGame();

	void StartServe(TableTennisPlayerBase player);

	void OnPlayerHitBall(TableTennisPlayerBase player, HitBallParams hitBallParams);

	void OnPlayerHitBall(TableTennisPlayerBase player, HitBallParamsPhysicsFlight hitBallParams);

	void AwardPoint(TableTennisGameTypeBase.AwardPointParams awardPointParams);

	void OnSwipe(TableTennisPlayerBase player);

	void OnGameWon(bool isPlayerWinner);

	TableTennisPlayerBase CreateHumanPlayer(int tableSide, bool canAlwaysHit);

	TableTennisPlayerBase CreateOpponentPlayer(int tableSide, bool canAlwaysHit);

	void PlayerWillMissShot(TableTennisPlayerBase player);

	TableTennisPlayerBase Other(TableTennisPlayerBase player);

	TableTennisPlayerBase GetPlayer(int teamTag);

	void OnHitPlanAdded(SwipeToHitParams swipeParams);

	void OnStartServeToss();

	void OnMissedServe();
}
